package com.atguigu.gulimall.search.vo;

import com.atguigu.common.to.es.SkuEsModel;
import com.atguigu.gulimall.search.vo.v1.MallGoodsDto;
import com.atguigu.gulimall.search.vo.v1.MallGoodsPopupDto;
import com.atguigu.gulimall.search.vo.v1.MallHintDto;
import com.atguigu.gulimall.search.vo.v1.MallShopsDto;
import lombok.AllArgsConstructor;
import lombok.Data;

import java.util.List;

/**
 * @author guoch0613@163.com
 * @Description
 * @create 2021-04-03 16:04
 */
@Data
public class SearchResult {

    //查询到的所有商品信息
    private List<MallGoodsDto> goods;

    //查询到的所有店铺信息
    private List<MallShopsDto> shops;

    //商品标签名称 联想出来的
    private List<MallGoodsPopupDto> popups;

    //底纹列表
    private List<MallHintDto> hints;

    //查询到的所有商品信息
    private List<SkuEsModel> product;

    //当前页码
    private Integer pageNum;

    //总记录数
    private Long total;

    //总页码
    private Integer totalPages;
    //页码遍历结果集(分页)
    private List<Integer> pageNavs;

    //当前查询到的结果，所有涉及到的品牌
    private List<BrandVo> brands;

    //当前查询到的结果，所有涉及到的所有属性
    private List<AttrVo> attrs;

    //当前查询到的结果，所有涉及到的所有分类
    private List<CatalogVo> catalogs;


    //===========================以上是返回给页面的所有信息============================//


//    /* 面包屑导航数据 */
//    private List<NavVo> navs;

    @Data
    public static class NavVo {
        private String navName;
        private String navValue;
        private String link;
    }


    @Data
    @AllArgsConstructor
    public static class BrandVo {

        private Long brandId;

        private String brandName;

        private String brandImg;
    }


    @Data
    @AllArgsConstructor
    public static class AttrVo {

        private Long attrId;

        private String attrName;

        private List<String> attrValue;
    }


    @Data
    @AllArgsConstructor
    public static class CatalogVo {

        private Long catalogId;

        private String catalogName;
    }
}
